home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML Authority.sea / XML Authority / Required / Samples / Card Samples / card.dtd next >
Encoding:
Text File  |  2000-05-03  |  9.9 KB  |  218 lines  |  [TEXT/XMLA]

  1. <!-- this is the CARD (Commerce Accelerated Relational Data) schema version 1.0 -->
  2. <!-- Copyright (C) 2000, infoShark, inc. -->
  3. <!-- The main goal of this schema is to provide a common means for 
  4. describing a relational database's structure and data so that 
  5. relational databases, non-relational data stores, and software 
  6. applications could easily consume it.  Documents adhering to 
  7. this schema can provide all the necessary information to recreate 
  8. relational databases and populate them with their data.  This 
  9. information includes such things as primary/foreign key 
  10. relationships, indices, and native datatypes.  A secondary 
  11. goal of this XML schema is to provide a simple mechanism for 
  12. specifying the price of individual data points (the data found 
  13. in a given row and column).  It is infoShark's vision that 
  14. this schema would further facilitate the extraction, 
  15. transformation, and loading of data across various 
  16. Web-enabled products. -->
  17.  
  18. <!ELEMENT card  (dbStructures? , existingData? , alterData? )>
  19. <!ATTLIST card  name          CDATA  #REQUIRED
  20.                 distributer   CDATA  #REQUIRED
  21.                 currencyValue CDATA  #REQUIRED
  22.                 currencyCode  CDATA  #REQUIRED
  23.                 description   CDATA  #REQUIRED >
  24. <!ELEMENT dbStructures  (dbStructure+ )>
  25. <!ATTLIST dbStructures  currencyValue  CDATA  #IMPLIED
  26.                         currencyCode   CDATA  #IMPLIED
  27.                         description    CDATA  #IMPLIED >
  28. <!ELEMENT dbStructure  (dbSchemata )>
  29. <!ATTLIST dbStructure  name            CDATA  #REQUIRED
  30.                        author          CDATA  #IMPLIED
  31.                        dbType          CDATA  #IMPLIED
  32.                        dbVersion       CDATA  #IMPLIED
  33.                        extractDatetime CDATA  #REQUIRED
  34.                        currencyValue   CDATA  #IMPLIED
  35.                        currencyCode    CDATA  #IMPLIED
  36.                        description     CDATA  #IMPLIED >
  37. <!ELEMENT dbSchemata  (dbSchema+ )>
  38.  
  39. <!ELEMENT dbSchema  (tables , indices , sequences )>
  40. <!ATTLIST dbSchema  name                    CDATA  #REQUIRED
  41.                     author                  CDATA  #IMPLIED
  42.                     currencyValue           CDATA  #IMPLIED
  43.                     currencyCode            CDATA  #IMPLIED
  44.                     description             CDATA  #IMPLIED
  45.                     structureRecreationFile CDATA  #IMPLIED >
  46. <!ELEMENT tables  (table* )>
  47.  
  48. <!ELEMENT table  (columns , keys , checkConstraints )>
  49. <!ATTLIST table  name          CDATA  #REQUIRED
  50.                  author        CDATA  #IMPLIED
  51.                  currencyValue CDATA  #IMPLIED
  52.                  currencyCode  CDATA  #IMPLIED
  53.                  description   CDATA  #IMPLIED >
  54. <!ELEMENT columns  (column+ )>
  55.  
  56. <!-- Here is a listing of where each of the datatypes originated
  57. oracle datatypes:
  58. bfile, blob, char, clob, date, decimal, float, integer, long, long-raw, long-varchar, mlslabel, nchar, nclob, nvarchar2, number, raw, raw-mlslabel, rowid, smallint, user-defined, varchar, varchar2
  59.  
  60. sqlserver datatypes:
  61. binary, bit, char, datetime, decimal, float, image, int, money, numeric, real, smalldatetime, smallint, smallmoney, text, timestamp, tinyint, user-defined, varbinary, varchar
  62.  
  63. access datatypes:
  64. autonumber, currency, date-time, hyperlink, lookup-wizard, memo, numbers, ole-object, text, yes-no
  65. -->
  66.  
  67. <!ELEMENT column EMPTY>
  68. <!ATTLIST column  name          CDATA  #REQUIRED
  69.                   linkName      ID     #REQUIRED
  70.                   nativeType    (autonumber | 
  71.                                  bfile | 
  72.                                  binary | 
  73.                                  bit | 
  74.                                  blob | 
  75.                                  char | 
  76.                                  clob | 
  77.                                  currency | 
  78.                                  date | 
  79.                                  datetime | 
  80.                                  date-time | 
  81.                                  decimal | 
  82.                                  float | 
  83.                                  hyperlink | 
  84.                                  image | 
  85.                                  int | 
  86.                                  integer | 
  87.                                  long | 
  88.                                  long-raw | 
  89.                                  long-varchar | 
  90.                                  lookup-wizard | 
  91.                                  memo | 
  92.                                  mlslabel | 
  93.                                  money | 
  94.                                  nchar | 
  95.                                  nclob | 
  96.                                  number | 
  97.                                  numbers | 
  98.                                  numeric | 
  99.                                  nvarchar2 | 
  100.                                  ole-object | 
  101.                                  raw | 
  102.                                  raw-mlslabel | 
  103.                                  real | 
  104.                                  rowid | 
  105.                                  smalldatetime | 
  106.                                  smallint | 
  107.                                  smallmoney | 
  108.                                  text | 
  109.                                  timestamp | 
  110.                                  tinyint | 
  111.                                  user-defined | 
  112.                                  varbinary | 
  113.                                  varchar | 
  114.                                  varchar2 | 
  115.                                  yes-no )  #REQUIRED
  116.                   precision     CDATA  #IMPLIED
  117.                   scale         CDATA  #IMPLIED
  118.                   length        CDATA  #IMPLIED
  119.                   defaultValue  CDATA  #IMPLIED
  120.                   nullable      (yes | no )  #REQUIRED
  121.                   commonName    CDATA  #IMPLIED 
  122.                   currencyValue CDATA  #IMPLIED
  123.                   currencyCode  CDATA  #IMPLIED
  124.                   description   CDATA  #IMPLIED >
  125. <!ELEMENT keys  (primaryKey? , foreignKey* , uniqueKey* )>
  126.  
  127. <!ELEMENT primaryKey  (columnLink+ )>
  128. <!ATTLIST primaryKey  name     CDATA  #REQUIRED
  129.                       linkName ID     #REQUIRED
  130.                       enabled  (yes | no )  #REQUIRED >
  131. <!ELEMENT columnLink EMPTY>
  132. <!ATTLIST columnLink  columnLinkName IDREF  #REQUIRED >
  133. <!ELEMENT foreignKey  (columnLink+ )>
  134. <!ATTLIST foreignKey  name          CDATA  #REQUIRED
  135.                       keyLinkName   IDREF  #REQUIRED
  136.                       enabled        (yes | no )  #REQUIRED
  137.                       cascadeDelete  (yes | no )  #REQUIRED >
  138. <!ELEMENT uniqueKey  (columnLink+ )>
  139. <!ATTLIST uniqueKey  name     CDATA  #REQUIRED
  140.                      linkName ID     #REQUIRED
  141.                      enabled  (yes | no )  #REQUIRED >
  142. <!ELEMENT checkConstraints  (checkConstraint* )>
  143.  
  144. <!ELEMENT checkConstraint  (checkConstraintValue , columnLink+ )>
  145. <!ATTLIST checkConstraint  name   CDATA  #REQUIRED
  146.                            enabled  (yes | no )  #REQUIRED >
  147.  
  148. <!ELEMENT checkConstraintValue  (#PCDATA )>
  149. <!ATTLIST checkConstraintValue  language CDATA  #IMPLIED >
  150.  
  151. <!ELEMENT indices  (index* )>
  152.  
  153. <!ELEMENT index  (columnLink+ )>
  154. <!ATTLIST index  name         CDATA  #REQUIRED
  155.                  unique        (yes | no )  #REQUIRED
  156.                  sorting       (yes | no )  #REQUIRED
  157.                  order         (ascending | descending )  #REQUIRED >
  158. <!ELEMENT sequences  (sequence* )>
  159.  
  160. <!ELEMENT sequence  (#PCDATA )>
  161. <!ATTLIST sequence  name          CDATA  #REQUIRED
  162.                     startingValue CDATA  #REQUIRED
  163.                     endingValue   CDATA  #REQUIRED
  164.                     stepValue     CDATA  #REQUIRED
  165.                     cycle          (yes | no )  #REQUIRED >
  166. <!ELEMENT existingData  (rows+ )>
  167. <!ATTLIST existingData  currencyValue  CDATA  #IMPLIED
  168.                         currencyCode   CDATA  #IMPLIED
  169.                         description    CDATA  #IMPLIED >
  170. <!ELEMENT rows  (row* )>
  171. <!ATTLIST rows  dbStructureName CDATA  #REQUIRED
  172.                 dbSchemaName    CDATA  #REQUIRED
  173.                 tableName       CDATA  #REQUIRED
  174.                 currencyValue   CDATA  #IMPLIED
  175.                 currencyCode    CDATA  #IMPLIED
  176.                 description     CDATA  #IMPLIED >
  177.  
  178. <!ELEMENT row  (columnValue+ )>
  179. <!ATTLIST row  uniqueID      ID     #REQUIRED
  180.                currencyValue CDATA  #IMPLIED
  181.                currencyCode  CDATA  #IMPLIED
  182.                description   CDATA  #IMPLIED >
  183. <!ELEMENT columnValue  (#PCDATA )>
  184. <!ATTLIST columnValue  columnName     CDATA  #REQUIRED
  185.                        isNull          (yes | no )  #REQUIRED
  186.                        currencyValue  CDATA  #IMPLIED
  187.                        currencyCode   CDATA  #IMPLIED
  188.                        description    CDATA  #IMPLIED >
  189.  
  190. <!ELEMENT alterData  (data+ )>
  191. <!ATTLIST alterData  currencyValue  CDATA  #IMPLIED
  192.                      currencyCode   CDATA  #IMPLIED
  193.                      description    CDATA  #IMPLIED >
  194. <!ELEMENT data  (insertData* , deleteData* , updateData* )>
  195. <!ATTLIST data  dbStructureName CDATA  #REQUIRED
  196.                 dbSchemaName    CDATA  #REQUIRED
  197.                 tableName       CDATA  #REQUIRED
  198.                 currencyValue   CDATA  #IMPLIED
  199.                 currencyCode    CDATA  #IMPLIED
  200.                 description     CDATA  #IMPLIED >
  201.  
  202. <!ELEMENT insertData  (columnValue+ )>
  203. <!ATTLIST insertData  currencyValue  CDATA  #IMPLIED
  204.                       currencyCode   CDATA  #IMPLIED
  205.                       description    CDATA  #IMPLIED >
  206. <!ELEMENT deleteData  (columnValue* )>
  207. <!ATTLIST deleteData  currencyValue  CDATA  #IMPLIED
  208.                       currencyCode   CDATA  #IMPLIED
  209.                       description    CDATA  #IMPLIED >
  210. <!ELEMENT updateData  (columnValue+ , previousData? )>
  211. <!ATTLIST updateData  currencyValue  CDATA  #IMPLIED
  212.                       currencyCode   CDATA  #IMPLIED
  213.                       description    CDATA  #IMPLIED >
  214. <!ELEMENT previousData  (columnValue+ )>
  215. <!ATTLIST previousData  currencyValue  CDATA  #IMPLIED
  216.                         currencyCode   CDATA  #IMPLIED
  217.                         description    CDATA  #IMPLIED >
  218.